#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created by master on 2017/2/25

# 如果列表中所有的元素的值都为真的话 才会返回true
# 假：None False 空列表 空元组 空字典 空字符串
print(all([1, 2, 3, 4]))


# any() # 只要有一个为True，返回就为True
# ascii() 相当于执行对象的__repr__方法

class Foo:
    def __repr__(self):
        return "bbb"


f = Foo()

ret = ascii(f)

print(ret)

# bin() 返回二进制

print(bin(10000))

# 返回字节数组
# 传字符串的时候要加入编码方式·
b = bytearray("哈哈哈哈", encoding="utf-8")
print(b)

# 是否可执行
#
f = lambda x: x + 1
callable(f)

# 字母通过ascii转成数字
ord("a")

# 数字通过ascii码转成字符

chr(99)
# python代码字符串编译成python代码
# compile("print('hello python!')")

# 给元素加上下标  并且可以指定初始下标
li = ["alex", "eric", "lily"]
for i, item in enumerate(li, 1):
    print(i, item)

# 直接计算字符串
eval("6*6")

# map()使用函数参数对列表的每个元素进行处理
l = [11, 22, 33, 44]


def func(a):
    return a + 100


# new_l = map(lambda a: a + 100, l)
new_l = map(func, l)
print(list(new_l))


# filter  过滤调使函数返回值为False的参数

def func1(a):
    if a > 33:
        return True
    else:
        return False


print(list(filter(func1, l)))

# frozenset() 不能修改的集合

# globals()  当前所有的全局变量
# locals()  当前所有的局部变量
# print(globals())


# id() 查看内存地址
# max() 取列表中的最大值
# min() 取列表中的最小值

# oct() 八进制

# range(0,10)
# 创建一个区间
# reversed() 反转
# round() 四舍五入

# slice() 切片
# vars() 返回key和value
# zip()
x = [1, 2, 3]
y = [4, 5, 6]

zipped = zip(x, y)

print(list(zipped))
